1. Field of the Invention
The present invention relates to the fields of data processing. More specifically, the present invention relates to the provision of graphical user interface.
2. Background Information
Graphical user interface (GUI) is known in the art. In modern computing, it is customary for operating systems that support GUIs to support windowing of displays, to allow concurrent displays of execution results of multiple applications executing at the same time, as long as the corresponding display windows of the applications do not overlap or block each another. Typically, if the display windows overlap, one display window, e.g. the focus window, is considered to be the “top” window, and its contents are made visible. All other contents located in areas of the other display window overlaid by the “top” window are “blocked”, and accordingly not visible.
In certain applications, such as annotating a document, it is desirable to simulate the effect of transparency. That is, the contents of the underlying display windows, including e.g. the icons of the desktop are made visible. See e.g. IBM Technical Disclosure Bulletins, April 1988, pp. 268-270, and June 1994, pp. 303-304.
A number of techniques for creating transparent or translucent windows are known in the art. For example, U.S. Pat. No. 4,868,765 disclosed a substantially hardware approach, employing a controller having what is referred to as a “porthole bit save array, where its content may be selectively transferred into a screen memory. Another example is U.S. Pat. No. 5,999,191 a software approach for selectively blending the contents of a number of display windows to achieve the transparency or translucent effect is disclosed. The technique is designed for implementation by an operating system (as applications generally do not have access to the contents of the display windows of other applications).
However, in a number of execution environments, such as the Windows' Operating System of Microsoft Corp, Redmond, Wash., while the operating system supports GUIs and windowing of displays, the operating system does not provide any support for transparent or translucent windows. As a result, the evolution of GUIs to provide ever more satisfying user experience in these environments has been stymied. For example, while the task bar is a very useful feature, in order to minimize its blocking effect on other windows, it typically has to be either hidden or kept to a relatively small size. Obviously, if it is hidden, it has to be re-displayed whenever it is needed, and while it is hidden, the descriptions of the various open windows are not visible. But even if it is displayed, as a result of its typical small size, the descriptions of the various open windows are virtually incomprehensible most of the times. Similarly, if a user desires to monitor the on-line world, e.g. to continually receive stock quotes or news headlines, as increasingly more and more users want to do, again in order minimize its blocking effect on other windows, the monitoring browser window must be kept relatively small and at a corner. Moreover, there is no visible differentiation between the windows displaying results of locally executed applications, and contents streamed from the on-line world. Likewise, while the emergence of an animated assistant improves a user's experience, its presence often blocks access to various contents or function buttons/icons. As a result, a user has to frequently relocate the animated assistant or “close” it. Further, manufacturers and/or content providers would like to be able to persistently display an always visible logo or other identifying marks, if not for the concern of irritating a user because the logo/mark may obstruct the user's view of other contents.
Thus, additional techniques for displaying and applying non-blocking always visible displays (including windows), especially in operating environments where such supports are not provided by the operating system, are desired.